//
//  body.h
//  bird
//
//  Created by Xiaochen Lian on 5/2/12.
//  Copyright (c) 2012 University of California, Los Angeles. All rights reserved.
//

#ifndef bird_body_h
#define bird_body_h

#include "entity.h"
#include "common.h"

class CBody : public IEntity {
    
public:
    CBody(vec3 scale, vec4 pos);
    void set_material(const lighting_struct &material);
    void build_model(const point4 &parent_mass_center);
    void draw(const mat4 &tfm_parent);
    void draw_axis(const mat4 &tfm_parent);
    
    pair<vec4, vec4> aerodynamics(const bird_status &cstatus, const mat4 &tfm, const double timestep);
    void update(const bird_status &cstatus, const mat4 tfm_parent);

private:
    GLint LEVEL;
    vec3 m_scale;
    lighting_struct m_material;
};

#endif
